package br.com.locautowebbd.locatario;

import br.com.locautowebbd.util.RepositorioException;


public class CadastroLocatario {
	private RepositorioLocatarios locatarios;

	public CadastroLocatario(RepositorioLocatarios rep) {
		if (rep == null) {
			throw new IllegalArgumentException("Argumento lista locatarios nula");
		}
		this.locatarios = rep;
	}

	public void atualizar(Locatario locatario) throws LocatarioInexistenteException,
			RepositorioException {
		locatarios.atualizar(locatario);
	}

	public void inserir(Locatario novoLocatario) throws RepositorioException, LocatarioExistenteException{
            int codigo = novoLocatario.getCodigo();
		if (!locatarios.existe(codigo)){
			locatarios.inserir(novoLocatario);
		} else {
			throw new LocatarioExistenteException(novoLocatario.getCodigo());
		}
	}

	public void remover(int codigo) throws LocatarioInexistenteException,
			RepositorioException {
		locatarios.remover(codigo);
	}

	public Locatario procurar(int codigo) throws LocatarioInexistenteException,
			RepositorioException {
		return locatarios.procurar(codigo);
	}
}